import abc
import numpy as np

class SelectionStrategy(object):
    __metaclass__ = abc.ABCMeta
    """description of class"""
    
    @abc.abstractmethod
    def select_parents(self, num_parents, population, costs):
        raise NotImplementedError()

    """def _dump_cost(self, population):
         the fitness of the population in a numpy array.
    
        :param population: array list of individuals
        :returns: numpy array of the population fitness
        
        costs = np.array([])
        for individual in population:
            costs = np.append(costs, individual.cost) 
        return costs """